home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / c / AMesaRTL.lha / Mesa-2.6 / amiga / src-glut / glutGet.c < prev    next >
C/C++ Source or Header  |  1998-09-19  |  3KB  |  109 lines

  1. /*
  2.  * Amiga GLUT graphics library toolkit
  3.  * Version:  2.0
  4.  * Copyright (C) 1998 Jarno van der Linden
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Library General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * This library is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * Library General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU Library General Public
  17.  * License along with this library; if not, write to the Free
  18.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  */
  20.  
  21.  
  22. /*
  23.  * glutGet.c
  24.  *
  25.  * Version 1.0  27 Jun 1998
  26.  * by Jarno van der Linden
  27.  * jarno@kcbbs.gen.nz
  28.  *
  29.  * Version 2.0  16 Aug 1998
  30.  * by Jarno van der Linden
  31.  * jarno@kcbbs.gen.nz
  32.  *
  33.  * - Changed to runtime library format
  34.  *
  35.  */
  36.  
  37.  
  38. #include <proto/intuition.h>
  39.  
  40. #include "glutstuff.h"
  41.  
  42.  
  43. __asm __saveds int glutGet( register __d0 GLenum state )
  44. {
  45.     switch(state)
  46.     {
  47.         case GLUT_WINDOW_X:
  48.             return(glutstuff.curwin->wincurx);
  49.         case GLUT_WINDOW_Y:
  50.             return(glutstuff.curwin->wincury);
  51.         case GLUT_WINDOW_WIDTH:
  52.             return(glutstuff.curwin->wincurwidth);
  53.         case GLUT_WINDOW_HEIGHT:
  54.             return(glutstuff.curwin->wincurheight);
  55.         case GLUT_ELAPSED_TIME:
  56.             {
  57.                 ULONG secs,micros;
  58.  
  59.                 CurrentTime(&secs,µs);
  60.                 if(!glutstuff.havebasetime)
  61.                 {
  62.                     glutstuff.basetime_secs = secs;
  63.                     glutstuff.basetime_micros = micros;
  64.                     glutstuff.havebasetime = TRUE;
  65.                 }
  66.  
  67.                 return(((int)(secs - glutstuff.basetime_secs))*1000 + ((int)(micros - glutstuff.basetime_micros))/1000);
  68.             }
  69.         case GLUT_WINDOW_DOUBLEBUFFER:
  70.             {
  71.                 GLboolean db;
  72.                 glGetBooleanv(GL_DOUBLEBUFFER, &db);
  73.                 return(db ? 1 : 0);
  74.             }
  75.         case GLUT_WINDOW_RGBA:
  76.             {
  77.                 GLboolean rgb;
  78.                 glGetBooleanv(GL_RGBA_MODE,&rgb);
  79.                 return(rgb ? 1 : 0);
  80.             }
  81.         case GLUT_WINDOW_PARENT:
  82.             return(0);
  83.         case GLUT_WINDOW_NUM_CHILDREN:
  84.             return(0);
  85.         case GLUT_WINDOW_STEREO:
  86.             {
  87.                 GLboolean stereo;
  88.                 glGetBooleanv(GL_STEREO,&stereo);
  89.                 return(stereo ? 1 : 0);
  90.             }
  91.         case GLUT_SCREEN_WIDTH:
  92.             return(glutstuff.curwin->window->WScreen->Width);
  93.         case GLUT_SCREEN_HEIGHT:
  94.             return(glutstuff.curwin->window->WScreen->Height);
  95.         case GLUT_MENU_NUM_ITEMS:
  96.             return(glutstuff.curmenu->numentries);
  97.         case GLUT_INIT_WINDOW_X:
  98.             return(glutstuff.initposx);
  99.         case GLUT_INIT_WINDOW_Y:
  100.             return(glutstuff.initposy);
  101.         case GLUT_INIT_WINDOW_WIDTH:
  102.             return(glutstuff.initwidth);
  103.         case GLUT_INIT_WINDOW_HEIGHT:
  104.             return(glutstuff.initheight);
  105.     }
  106.  
  107.     return(-1);
  108. }
  109.